FIG. 1 schematically illustrates a multiprotocol interface 10 used to connect several Ethernet networks 12 to several ATM networks 14. The connection between interface 10 and the several ATM networks 14 is generally performed via a multiplexer-demultiplexer 16 connected by a single series link L (generally, UTOPIA 2) to interface 10.
Each data packet or cell transmitted over an ATM network contains a VP/VC address identifying the addressee of the packet. Given that packets coming from several ATM networks are multiplexed on single link L connecting circuit 16 to interface 10, the physical link to which the packets correspond must be identified. For this purpose, interface 10 adds to the VP/VC addresses of the packets transmitted over link L additional bits that enable identification of the physical link.
FIG. 2 symbolizes such an address A of a packet transmitted over link L. This address contains a 16-bit VC field (virtual connection) followed by a first 8-bit VP field (virtual path) and by a second 4-bit VP field. The three fields form the normal VP/VC addresses. A field P of enough bits to identify all the physical links to the ATM networks is added to these fields. For example, field P contains 4 bits enabling identification of 16 different links.
An ATM link can be of UNI type (User Network Interface) for which the number of connections is limited to 224. Accordingly, the addresses used on a UNI network are 24-bit addresses and use the VC field and the first 8-bit VP field of FIG. 2. An ATM network can also be of NNI type (Network-Network Interface). In this case, the number of possible connections is multiplied by 16 with respect to a UNI network. Accordingly, the VP/VC addresses used over such a link exploit the two VP fields of FIG. 2 and enable identifying up to 228 connections.
Further, multiprotocol interface 10 is provided to manage a number of connections much smaller than the number of possible connections over an ATM network. For example, it can be provided to manage 210=1024 connections. A problem that is raised in such an interface is to associate, with each of the connections opened in the interface, incoming ATM packets directed thereto. Indeed, an address A (that is, a VP/VC address increased by the bits P necessary to identify the physical link) may have any one of 232 values (in the above-mentioned example with 16 physical links), while the number of active connections is at most equal to 1024 in the example. Thus, a solution must be found to associate 1024 addresses chosen from among 232 with 1024 active connections in the interface.
A first immediate solution consists of using a table with 1024 inputs corresponding to the possible connections in the interface and writing into this table the addresses A associated with the active addresses. Then, when a packet is received, the address A is extracted therefrom and the table is browsed until it is found. If address A is not found in the table, the corresponding packet is not directed to the interface and it is ignored.
This solution requires browsing an average 512 locations in the table for each packet directed to the interface. If a packet is not directed to the interface, the 1024 locations are systematically browsed for nothing. Thus, this solution is too costly in terms of calculation time.
Another solution consists of using an associative memory having 1024 locations into which the addresses A associated with the active interface connections are written. Upon reception of a packet, its address A is extracted and compared in parallel with all the inputs of the table, which table then provides a 10-bit index associated with the address, if this address is present in the table. This solution is however too costly in terms of equipment (it requires 1024 32-bit comparators and 1024 42-bit registers).